package com.zsk.shop.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author Administrator
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("订单积分实体类返回")
public class ShopOrderPoints implements Serializable {

    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(name = "id", value = "主键编号", dataType = "Long")
    private Long id;

    @ApiModelProperty(name = "orderPointsNo", value = "业务主键", dataType = "String")
    private String orderPointsNo;

    @ApiModelProperty(name = "userNo", value = "归属用户", dataType = "String")
    private String userNo;

    @ApiModelProperty(name = "snapshotInfo", value = "快照信息（记录来源订单商品内容快照）", dataType = "String")
    private String snapshotInfo;

    @ApiModelProperty(name = "sourceOrderNo", value = "来源订单编号", dataType = "String")
    private String sourceOrderNo;

    @ApiModelProperty(name = "useOrderNo", value = "积分使用的订单编号", dataType = "String")
    private String useOrderNo;

    @ApiModelProperty(name = "points", value = "可获积分", dataType = "BigDecimal")
    private BigDecimal points;

    @ApiModelProperty(name = "status", value = "冻结状态 0默认 1待解冻 2已解冻 3已使用", dataType = "Integer")
    private Integer status;

    @ApiModelProperty(name = "ratio", value = "已解冻比例", dataType = "BigDecimal")
    private BigDecimal ratio;

    @ApiModelProperty(name = "thawTotalPoint", value = "已解冻总积分", dataType = "BigDecimal")
    private BigDecimal thawTotalPoint;

    @ApiModelProperty(name = "thawPoint", value = "已解冻积分", dataType = "BigDecimal")
    private BigDecimal thawPoint;
    
    @ApiModelProperty(name = "ratio", value = "已解冻现金", dataType = "BigDecimal")
    private BigDecimal thawMoney;

    @ApiModelProperty(name = "thawTime", value = "解冻时间", dataType = "Date")
    private Date thawTime;

    @ApiModelProperty(name = "isInvalid", value = "是否标记失效", dataType = "Boolean")
    private Boolean isInvalid;

    @ApiModelProperty(name = "useTime", value = "使用时间", dataType = "Date")
    private Date useTime;

    @ApiModelProperty(name = "createTime", value = "创建时间", dataType = "Date")
    private Date createTime;


    private static final long serialVersionUID = 1L;
}